package me.shan.sort;

/**
 * 描述：选择排序
 *
 * @author 汉服萌新
 * @since  2021/6/13 15:16
 */
public class SelectSort {

    /**
     * 排序主实现体
     * @param array 入参数组
     */
    public static void sort(int[] array) {
        if (array.length < 2) {
            return;
        }
        for (int i = 0; i < array.length; i++) {
            int minIndex = i;
            for (int j = i + 1; j < array.length; j++) {
                if (array[j] < array[minIndex]) {
                    minIndex = j;
                }
            }
            swap(array, i, minIndex);
        }
    }

    private static void swap(int[] array, int i, int minIndex) {
        int temp = array[i];
        array[i] = array[minIndex];
        array[minIndex] = temp;
    }

}
